我必须解析一个文件,以便我可以将它导入excel.所以,我认为最好的方法是创建一个csv文件.在此文件中,我必须将内容划分为不同的类别,并将它们表示在不同的列中.所以,我已经解析了文件以创建与类别对应的不同数组.现在,我正在尝试使用这些数组创建一个csv文件(考虑使用for循环).但问题是,阵列长度不等.
INPUT
NM_144736.3
NM_144963.1
XM_144975.2
BC144986.1
NM_144989.1
BC145001.1
XM_145018.2
NM_145015.2
XM_030711.2
AK145024.1
AK145030.1
NM_145034.1
Run Code Online (Sandbox Code Playgroud)
我使用正则表达式将数据解析为不同的数组.所有NM到@ array1,XM到@ array2,BC到@ array3,AK到@ array4.如果创建数组不是一个好主意,请让我知道是什么?我怎样才能从上面的数据生成csv文件.
编辑:
OUTPUT
NM_144963.1,XM_144975.2,BC144986.1,AK145024.1
NM_144963.1,XM_145018.2,BC145001.1,AK145030.1
NM_144989.1,XM_030711.2
NM_145015.2
NM_145034.1
Run Code Online (Sandbox Code Playgroud) 要求
问题: 我可以使用这些条件来改进读取过程吗?如果是这样,我怎么能用Perl做到这一点?
我在你的答案中需要一个例子(Perl Script).
我知道这个问题花了很多时间,但有不同的答案; 我很迷惑.
我的行是:
1,3.2,BCD,"qwer 47"" ""dfg""",1
Run Code Online (Sandbox Code Playgroud)
可选的引用和双引号MS Excel标准.(数据:qwer 47" "dfg"表示如下"qwer 47"" ""dfg""".)
我需要一个正则表达式.
我有一个csv文件看起来像:
s555555,7
s333333,10
s666666,9
s111111,10
s999999,9
Run Code Online (Sandbox Code Playgroud)
当我在python中打开它时,它应该看起来像:
[[’s555555’, ’7’], [’s333333’, ’10’], [’s666666’, ’9’], [’s111111’, ’10’], [’s999999’, ’9’]]
Run Code Online (Sandbox Code Playgroud)
我需要使用哪些代码?
谢谢,任何帮助都会非常感激!
我有这个字符串'id,obj1,"string, etc",obj2',现在我需要把它分成这样的字典:
{
1 = 'id',
2 = 'obj1',
3 = 'string, etc',
4 = 'obj2'
}
Run Code Online (Sandbox Code Playgroud)
我一直在玩正则表达式,试图划分字符串但没有成功.任何帮助表示赞赏
我有大量的数据,大约2000万行和6列.我试图从这个大的.csv文件中提取数据.我试过R,但我得到错误消息,我使用的是4 GB Ram,i5处理器的macbook.有什么方法可以提取信息,我试过excel,它只需要100万行.任何建议或帮助都会有用
文件超过1.3 GB,我想根据参数将此数据库划分为大约2000-3000的集合.我尝试了R,当我使用read.csv时..我试了一会儿但是在10分左右之后我得到R没有回应 -
我想基于第3列分离这些数据.
SHA PCT实践BNF代码BNF名称
我正在寻找一种快速有效的方法来双重引用制表符分隔或逗号分隔的文本文件中的所有字段.
理想情况下,这可以是我可以从命令行运行的Perl单行程,但我对任何类型的解决方案都持开放态度.
我试图将数据从对象列表导出到csv文件.我设法创建文件并创建第一行,但是我需要为每个循环创建一些循环来遍历每个对象.
这是我的代码:
string pathDesktop = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
string filePath = pathDesktop + "\\mycsvfile.csv";
if (!File.Exists(filePath))
{
File.Create(filePath).Close();
}
string delimter = ",";
string[][] output = new string[][] {
new string[] {"TEST1","TEST2"}
};
int length = output.GetLength(0);
StringBuilder sb = new StringBuilder();
for (int index = 0; index < length; index++)
{
sb.AppendLine(string.Join(delimter, output[index]));
File.AppendAllText(filePath, sb.ToString());
}
Run Code Online (Sandbox Code Playgroud)
有没有办法创建此文件并使用循环遍历所有对象并将其显示在文件中.
我在python 2.7.3中工作,并尝试读取PNG_Files_R.csv包含以下信息的csv文件:
"Group","Sample","T0" \n
"HereausCPC","61","sample06_1_T0-Subvolume-resample_scale-1_x.png"
Run Code Online (Sandbox Code Playgroud)
我希望逐行读取每行中的文件,第一行除外.但我永远不会使用list()来获取行数,它报告''str'对象不可调用'
import Image
import os,csv
path_working="/media/Research/TEST_Program/PNG_Files"
path_now=os.getcwd()
os.chdir(path_working)
csv_filename='PNG_Files_R.csv'
f = open('PNG_Files_R.csv', 'rb')
reader = csv.reader(f)
rows = list(csv.reader(f))
lineNum = len(rows)
for rowNum in range(1,lineNum):
print rows[rowNum][0]
Run Code Online (Sandbox Code Playgroud)
我重新启动python,然后没有错误弹出
非常感谢!
我有一个具有不同列号的 tsv 文件
1 123 123 a b c
1 123 b c
1 345 345 a b c
Run Code Online (Sandbox Code Playgroud)
我只想提取 6 列的行
1 123 123 a b c
1 345 345 a b c
Run Code Online (Sandbox Code Playgroud)
我如何在 bash(awk、sed 或其他)中做到这一点?