Есть ли способ прочитать многострочный CSV-файл с помощью преобразования ReadFromText
в Python? У меня есть файл, содержащий одну строку. Я пытаюсь заставить Apache Beam читать ввод как одну строку, но не могу заставить ее работать.
def print_each_line(line):
print line
path = './input/testfile.csv'
# Here are the contents of testfile.csv
# foo,bar,"blah blah
# more blah blah",baz
p = apache_beam.Pipeline()
(p
| 'ReadFromFile' >> apache_beam.io.ReadFromText(path)
| 'PrintEachLine' >> apache_beam.FlatMap(lambda line: print_each_line(line))
)
# Here is the output:
# foo,bar,"blah blah
# more blah blah",baz
Приведенный выше код анализирует ввод как две строки, хотя стандарт для многострочных файлов csv заключается в заключении многострочных элементов в двойные кавычки.