我正在使用Pandas导入文本文件,如下所示:
ts.createVariableStatement(
[],
ts.createVariableDeclarationList(
[
ts.createVariableDeclaration(
'a',
undefined,
ts.createStringLiteral('42'),
),
],
ts.NodeFlags.Const,
),
)
我在1行出现错误,因为该字段值中有一个Pipe。当它尝试解析该行时,会发现该行的长度太长,从而引发错误。它允许文件处理;但是,此行丢失。
示例:
行-
data = pd.read_csv('filepath.txt', sep='|', quoting=3,
error_bad_lines=False, encoding='latin1', low_memory=False)
解析此文件将创建:
4321|Test|1/2/1900
1234|Test||1/1/1900
我想消除多余的|在第二行“测试|”中或让熊猫了解它的存在是为了创造:
4321 Test 1/2/1900
1234 Test 1/1/1900
否则就可以了:
4321 Test 1/2/1900
1234 Test 1/1/1900
我试图使用转换器,其他报价方法(quotchars等),但无济于事。
关于如何实现这一目标的任何想法?欢迎所有建议。
埃里克
答案 0 :(得分:0)
我认为最简单的方法是删除“ ||”的任何实例然后用熊猫例如:
import pandas as pd
from io import StringIO
buffer= StringIO()
with open(r'filepath.txt', 'r') as f:
for line in f.readlines():
if "||" not in line:
buffer.write(line)
buffer.seek(0)
data = pd.read_csv(buffer, sep='|', quoting=3,
error_bad_lines=False, encoding='latin1', low_memory=False)
您还可以通过查找和替换操作在python之外进行操作。